iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0
Software Development

Django 2024: 從入門到SaaS實戰系列 第 1

雖然老套但是不可避免的前言

  • 分享至 

  • xImage
  •  

在開始這一系列的文章以前,先聲明一下可能需要的閱讀門檻:

  1. 畢竟是介紹python寫的網路框架,所以需要具備一定的python基礎
    • 至少要懂函式與物件導向的觀念,因為要使用許多套件時需要用到繼承的概念
  2. 有使用過SQL以及NoSQL的經驗,文章中會使用PostgreSQL作為backend資料庫,而Redis作為消息隊列的儲存地以及快取的儲存位置
  3. 對於docker有稍微的基本概念,文中不會使用很複雜的架構,所以設定檔等如果看不懂,可以直接求助偉大的AI
  4. 想要學習網頁框架並且想要應用在生產環境的讀者

前言

為什麼選擇Django來介紹?

我是非本科並且從業不滿2年,負責過的專案規模可以用奈米級來形容XD,但是Django作為我第一個學習的網頁框架,從剛開始接觸都只會照抄程式碼,到現在覺得自己對Django的開發也稍微有點心得,並且真心覺得Django是一個相當強大的後端框架,因此想要推廣Django的魅力給大家XD

現在Next.js, Nuxt.js等全端框架的興起,加上輕量化的API框架快速發展,的確有影響Django的優勢區間,但是Django大而全的設計並且能快速開發的特性,在許多層面上依然是有競爭力的選擇。並且因為是基於python,所以要整合相關的AI應用還是有一定的優勢。

至於為什麼明明有Python這個的主題可以發表,我還是要在Software Development發表文章呢?

有幾個原因:

  1. 在主辦方的領域導讀中,比較偏重自動化任務、資料科學和機器學習這幾個部分,但是Django著重在網頁框架
  2. 不會著重在python這個語言的特性,例如強調python風格的寫法,動態語言下的型別檢查等等
  3. 文章著重的方向是應用部分,也就是丟出一些開發專案的方向,而不是強調框架本身。例如文章之後會提到的聊天室與Saas,都不是只有Django能做,我只是介紹怎麼用Django來完成而已,並且在專案中可能也會使用到容器化等概念其他領域的知識

基於以上理由,我最終還是決定不在python領域發表文章

最後也想對觀看文章的讀者打個預防針

圖源:https://bnetcmsus-a.akamaihd.net/cms/gallery/6EIJCTFG5GAW1402649369938.png

就如前面所說,我身為一個非本科且資歷不深的開發者,網路上大量的資源跟AI就是我開發上最大的老師。因此在可能一些系統設計、命名方式或是資料庫設計上可能會有不符合某些設計原則的時候,甚至可能用字遣詞不是台灣的用法等等XD如果讀者有任何想反饋的地方,隨時可以善用底下的留言區,寫文章就是要有這樣的互動才會更有動力!

文章系列大綱:

初見Django

  • 介紹Django在2024年的地位和未來展望
  • 理解Django核心架構
  • Hello world!第一個Django專案
  • 淺嚐Django MTV
  • 解鎖Django form的潛力
  • 初見Django admin
  • Django admin二次開發,打造屬於你的後台
  • 那些你可能會想在後台一起使用的第三方套件
  • Django Auth身份認證系統

Django REST framework

  • 掌握DRF的使用
  • 序列化器、Class-based view 與function-based view
  • 深入序列化器
  • DRF中的身份認證與安全護盾

Websocket

  • 探索Channels實現實時通信
  • 使用Channels實作簡易聊天室
  • 學習使用Celery處理非同步任務

多租戶

  • 數據隔離的藝術,了解Django tenants
  • 租戶定制化,在不同租戶提供定制化的設置
  • SaaS實作:透過Django tenants來讓用戶擁有自己的簡易Notion

下一篇
Django in 2024: Web開發的全能選手
系列文
Django 2024: 從入門到SaaS實戰16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言